#include "cvxImage.h"
#include <iostream>
#include <time.h>
#include <vector>
#include <algorithm>
#include <list>
#include "testIntrinsicImage.h"

using namespace std;
using namespace cv;

#if 1
//test local shading model
int main()
{
//	TestIntrinsicImage::testEdgeMap();
//	TestIntrinsicImage::testLocalshadingWidthEdgeMap();
//	TestIntrinsicImage::testLeastSquare();
//	TestIntrinsicImage::testSCS_matrix();
//	TestIntrinsicImage::testQuadtree();

//	TestIntrinsicImage::testCvxRandomQuadTree();
//	TestIntrinsicImage::testCvxSimColorQuadTree();
//	TestIntrinsicImage::testRecoverA();
//	TestIntrinsicImage::testMinimalShading();
//	TestIntrinsicImage::testDisparity();
//	TestIntrinsicImage::testComputeDisparity();
//	TestIntrinsicImage::testQuadtreeSolver();  // do not pass
//	TestIntrinsicImage::testReverseTree();
//	TestIntrinsicImage::testEMTree();

//	TestIntrinsicImage::testEMTreeSolver();
//	TestIntrinsicImage::testAVectorInQuadTree();
//	TestIntrinsicImage::testSimilarReflectane();  //not complete
//	TestIntrinsicImage::testCvxQuadStroke();
//	TestIntrinsicImage::testGeneralQuadtreeImage();
//	TestIntrinsicImage::testCholmod();
//	TestIntrinsicImage::testMultipleScaleSample();
//	TestIntrinsicImage::testCvxLocalSolver();
//	TestIntrinsicImage::testLocalRefinement();
//	TestIntrinsicImage::testOptSolverWeight();
//	TestIntrinsicImage::testOptSolverSolver();
//	TestIntrinsicImage::testGrayscaleRegulation();
//	TestIntrinsicImage::testGrayscaleRegualtionWithMITdataset();
//	TestIntrinsicImage::testAdaptiveQuadTree();
//	TestIntrinsicImage::testAdaptiveInitialShading();
//	TestIntrinsicImage::testEMTreeWithAdaptiveInitialShading();
//	TestIntrinsicImage::testStereoSolverIndex();
//	TestIntrinsicImage::visualizeEMTree();
//	TestIntrinsicImage::testMatchAdaptiveTree();
//	TestIntrinsicImage::reColorTurtle();
//	TestIntrinsicImage::testIterativeSolver();
//	TestIntrinsicImage::testEdgeAssumption();
//	TestIntrinsicImage::testGiveEdgeNodeGroundTruth();
//	TestIntrinsicImage::testRecolorBird();
//	TestIntrinsicImage::testEMTreeSpeed();
//	TestIntrinsicImage::testIterativeEdgeSolver();

	//edge solver
//	TestIntrinsicImage::testEdgeSolver();

//	TestIntrinsicImage::clusterSingleImage();

	TestIntrinsicImage::testQuadTreeCluster();


	cvWaitKey(0);
}
#endif

